﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using MyHotel.MyHotel_MHDangNhap_BUS_Webservice;

namespace MyHotel
{
    public partial class frmDangNhap : DevComponents.DotNetBar.Office2007Form
    {
        public frmDangNhap()
        {
            InitializeComponent();
        }

        private void btn_dangnhap_Click(object sender, EventArgs e)
        {
            if (IsDataOK(true))
            {
                Login();
            }
        }

        private void Login()
        {
            MHDangNhapBUSWSSoapClient ws = new MHDangNhapBUSWSSoapClient();
            this.Cursor = Cursors.WaitCursor;
            NhanVien nv = ws.KiemTraDN(txtTenDangNhap.Text, txtMatKhau.Text);
            if (nv != null)
            {
                if (nv.IsBlock == true)
                {
                    MessageBox.Show("Tài khoản hiện đang tạm khóa, vui lòng liên hệ với ban quản trị hệ thống", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    txtTenDangNhap.Focus();
                }
                else
                {
                    this.Cursor = Cursors.WaitCursor;

                    frmMain main = new frmMain(nv);
                    this.Hide();
                    if (main.ShowDialog() == DialogResult.OK)
                    {
                        this.Show();
                    }
                    else
                    {
                        this.Close();
                    }
                    this.Cursor = Cursors.Default; 
                }
            }
            else
            {
                MessageBox.Show("Đăng nhập thất bại!\nVui lòng kiểm tra lại tên đăng nhập và mật khẩu!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtTenDangNhap.Focus();
            }
            this.Cursor = Cursors.Default;
        }

        private bool IsDataOK(bool isAlert = false)
        {
            if (txtTenDangNhap.Text.Trim().Length == 0)
            {
                txtTenDangNhap.Focus();
                if (isAlert)
                {
                    MessageBox.Show("Bạn chưa nhập tên đăng nhập", "Information", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                return false;
            }
            if (txtMatKhau.Text.Trim().Length == 0)
            {
                txtMatKhau.Focus();
                if (isAlert)
                {
                    MessageBox.Show("Bạn chưa nhập mật khẩu", "Information", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                return false;
            }

            return true;
        }

        private void btn_thoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void txtTenDangNhap_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == 13)
            {
                if (IsDataOK(false))
                {
                    Login();
                }
            }
        }

        private void txtMatKhau_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == 13)
            {
                if (IsDataOK())
                {
                    Login();
                }
            }
        }

        private void frmDangNhap_Load(object sender, EventArgs e)
        {
            txtMatKhau.GotFocus += new EventHandler(txtMatKhau_GotFocus);
            txtTenDangNhap.GotFocus += new EventHandler(txtTenDangNhap_GotFocus);
        }

        void txtTenDangNhap_GotFocus(object sender, EventArgs e)
        {
            if (txtTenDangNhap.Text.Length > 0)
                txtTenDangNhap.SelectAll();
        }

        void txtMatKhau_GotFocus(object sender, EventArgs e)
        {
            if (txtMatKhau.Text.Length > 0)
                txtMatKhau.SelectAll();
        }
    }
}